package cn.wolfcode.wolf2w.redis.service;

import cn.wolfcode.wolf2w.redis.vo.StrategyStatisVO;

import java.util.List;

/**
 * 攻略相关操作缓存服务接口
 */
public interface IStrategyStatisVORedisService {
    /**
     * 页面加载阅读数+1
     * @param sid
     * @param num
     */
    void increaseNumview(String sid, int num);

    /**
     * 获取指定id攻略统计对象
     * @param sid
     * @return
     */
    StrategyStatisVO getStrategyStaticVo(String sid);

    /**
     * 更新攻略统计对象
     * @param
     * @return
     */
    void setStrategyStaticVo(StrategyStatisVO vo);

    /**
     * 评论数加1操作
     * @param sid
     * @param num
     */
    void increaseReplynum(String sid, int num);

    /**
     * 攻略收藏操作
     * @param sid
     * @param uid
     * @return
     */
    StrategyStatisVO increaseFavornum(String sid, String uid);

    /**
     * 攻略收藏
     * @param sid
     * @param uid
     * @return true：已收藏 false:未收藏
     */
    boolean favor(String sid, String uid);

    /**
     *
     * @param sid
     * @param uid
     * @return true：已顶 false:未顶
     */
    boolean strategyThumbup(String sid, String uid);

    /**
     * 判断指定攻略vo对象是否存在
     * @param sid
     * @return
     */
    boolean isVoExists(String sid);

    /**
     * 按照指定规则查询所有vo对象
     * @param pattern
     * @return
     */
    List<StrategyStatisVO> queryStrategyVoByPattern(String pattern);
}
